import { constantRoutes, asyncRoutes } from '@/router'

// console.log(asyncRoutes)
const state = {
  // 静态路由直接写死
  routes: constantRoutes
}

// vuex

// vuex里面的路由列表它的作用：左侧菜单的展示
// addRoutes方法动态添加路由

const mutations = {
  setRoutes(state, newRouter) {
    //  获取的newRouter是用户的动态路由模块
    state.routes = [
      ...constantRoutes,
      // ...state.routes,
      ...newRouter
    ]
  }
}
// http://192
// 192
const actions = {
//  动态路由的筛选
//  接受一个权限标识的数组
//  返回一个动态路由模块列表
//   menus: 权限标识的数组列表，当前用户拥有的权限标识
  filterRoutes(context, menus) {
    const resRoutes = asyncRoutes.filter(item => {
      return menus.includes(item.name)
    })
    context.commit('setRoutes', resRoutes)
    return resRoutes
  }
}

export default {
  // 开启命名空间
  namespaced: true,
  state,
  mutations,
  actions
}
